Skip to main content

Host App Integration

This page covers how your mobile widget is packaged, registered, and deployed into the production mobile banking application — including npm packaging, build output, and the submission process.

Unlike web widgets (which use Module Federation and remoteEntry.js) mobile widgets are distributed as npm packages. The mobile banking host app installs your package as a dependency and renders it as an embedded React Native component on the home screen at runtime.

Build

Build a widget for production:

npx nx run <name>:build

The build uses tsup and produces three outputs in dist/:

OutputPurpose
index.jsCommonJS bundle (for Metro bundler and Node tooling)
index.mjsESM bundle (for production bundling)
index.d.tsTypeScript type declarations

Build output is written to dist/packages/<folder-name>/.

Submission Process

The mobile and web submission processes follow the same general flow. When your widget is ready for production, follow these steps:

1. Validate

Run type checking and ensure the build succeeds:

npm run typecheck
npm run build

2. Register with the Platform Team

When you are ready to integrate your widget with the Candescent platform, reach out to the Candescent technical support team with the following details:

ValueExample
Package name@acme-extensions/my-widget
Version0.0.1
Exported componentMyWidget
Integration typewidget
Build outputShare the output folder from the build step via an uploaded URL or zip file
  • widget — a component embedded in the existing home screen of the mobile banking app

The platform team registers your widget with the mobile banking host application. Until the registration is complete, the component will not be visible in the production app.

info

Widget submission through the Developer Console is planned. For now, coordinate directly with the platform team for registration and deployment. See Submissions for reference on the current Aspect submission flow.

Shared Dependencies

info

Peer and shared dependency versions are documented in the CDX Extensibility Apps README. Align your widget dependencies with those versions.

Do not add runtime dependencies outside the approved list without coordinating with the platform team. Version conflicts between your package and the host app can cause runtime crashes.

Next Steps